Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Misc improvements and bug fix for VSH for non-CEX firmware #12893

Merged
merged 3 commits into from Oct 31, 2022
Merged

Misc improvements and bug fix for VSH for non-CEX firmware #12893

merged 3 commits into from Oct 31, 2022

Conversation

brian218
Copy link
Contributor

@brian218 brian218 commented Oct 28, 2022

This solves error 80029519 when you come across FSELF or non-retail games in XMB.
XMB only accepts this kind of game when the console is DECR, DECH, or GECR; so by changing the Product Code to DECR's, the system will deem the emulator a DECR console.

Error 80029519 screenshot:
screenshot_2022_10_28_22_05_23

This also adds support for mounting dev_hdd1 as a raw disk image file; With the file_system of sys_fs_mount() set to "CELL_FS_SIMPLEFS", the device is mounted as a file, instead of a directory.

@Megamouse Megamouse added the VSH label Oct 28, 2022
@brian218 brian218 changed the title Use DECR's Product Code when Debug Console Mode is enabled Misc improvements for VSH for non-retail firmware Oct 28, 2022
@brian218
Copy link
Contributor Author

Solved issue #12889.

@brian218 brian218 changed the title Misc improvements for VSH for non-retail firmware Misc improvements and bug fix for VSH for non-CEX firmware Oct 28, 2022
@brian218
Copy link
Contributor Author

The issue #12889 occurred when the system attempted to treat "/dev_hdd1" as a file in order to get the block size, so we can simply redirect the local_path in sys_fs_open() to a temp file of dev_hdd1's supposed size, and the temp file will be deleted when dev_hdd1 is unmounted since it's safe to discard the temp file.

Relevant log and proof:

sys_fs: sys_fs_mount(dev_name=“CELL_FS_UTILITY:HDD1”, file_system=“CELL_FS_SIMPLEFS”, path=“/dev_hdd1”, unk1=0x0, prot=0x0, unk3=0x0, str1=«NULL», str_len=0)
VFS: Mounted path "/dev_hdd1" to "/dev_hdd1/caches/vsh/"
sys_fs: sys_fs_open(path=“/dev_hdd1”, flags=02, fd=*0x7084a0, mode=03000, arg=*0x0, size=0x0)
sys_fs: sys_fs_open(): fd=20, Regular file, “/dev_hdd1”, Mode: 0x600, Flags: 0x2, Pos/Size: 0/3.99999MB (0x0/0x3ffff8)
sys_fs: sys_fs_fget_block_size(fd=20, sector_size=*0x7084a8, block_size=*0x7084b0, arg4=*0x7084b8, out_flags=*0xd015eb10)
sys_fs: sys_fs_close(fd=20): Regular file, “/dev_hdd1”, Mode: 0x600, Flags: 0x2, Pos/Size: 1.5KB/3.99999MB (0x600/0x3ffff8)
sys_fs: sys_fs_unmount(path=“/dev_hdd1”, unk1=0x0, unk2=0x1)

rpcs3/Emu/VFS.cpp Outdated Show resolved Hide resolved
@brian218 brian218 requested review from Nekotekina and removed request for Megamouse October 31, 2022 09:01
@Nekotekina
Copy link
Member

Okay, thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants